Word completion systems, also known as word prediction, auto complete or typing assistant, are commonly used on mobile devices due to the difficulty of typing on small keyboards. Currently available systems can be categorized into alphabetical and graphical.
The alphabetical word completion systems try to predict the desired word from the first few letters typed, but suffers from the lack of accuracy in defining the initial template.
The graphical word completion systems use the trace path across the touch screen keyboard as a template, but suffer from the ambiguity of the trace path and the dependency of a touch screen interface.
Both of these approaches are designed primarily for alphabetical or segmental writing systems such as English, but are not known to be extensible to other language groups. The graphical systems are poorly adaptable to mobile phones with 12-key keypads which typically lack a touch screen interface.
The proposed solution Fill In The Blanks (FIBs) is designed not only to be simpler and more accurate, but also extensible to other writing systems, and adaptable and portable to diverse hardware platforms.
The main idea is based on the general assumption that standardized languages comprise composite structures such as words which in turn comprises a finite number of basic elements such as characters. The basic elements making up the composite structures are assembled and interpreted according to a given set of rules specific to a language. For example, in English, characters are positioned linearly to form words and assembled and read from left to right.
A partial template that can match a finite number of complete composite structures is used to query the possible matches to the template from a data source. A specific type of element is designated as a blank cue (wild card) which can represent a finite number of basic elements, while a non-blank cue normally represents a valid basic element. The template will typically have a number of cues, a mix of blank and non-blank cues.
The method to specify the exact number of cues or basic elements in the template (partial composite structure) does not require any scripting or command line input, making it highly practical for mobile applications. A cue in the template can be pointed to by a pointer or a caret and edited to refine the template.
The key component of the concept is a close ended template which can only have a finite number of matches, in contrast to the currently available methods which employ an open ended template which can have an infinite number of matches, when applied to a hypothetical infinite data source. The partial template for English language has some missing characters represented by blank cues, but constrained by the exact number of characters in the word sought. It is editable making it possible to accurately focus in onto any part of the word to refine the query for the desired match.
The use of discrete instead of continuous signals makes FIBs highly portable and adaptable. For example, even though the preferred embodiment is implemented on a QWERTY based keyboard, it can be ported to work equally well on other keyboard layouts such as DVORAK. While the preferred embodiment is illustrated on a tablet PC with a touch screen, it can be adapted to work on a diverse set of hardware platforms such as, mobile devices with physical keyboards or touch screens, and mobile phones with 12-key keypads.